package zy.dao.sort.allot;

import java.util.List;
import java.util.Map;

import zy.dto.common.BarcodeImportDto;
import zy.dto.shop.want.ProductStorePriceDto;
import zy.entity.base.product.T_Base_Product;
import zy.entity.base.product.T_Base_Product_Shop_Price;
import zy.entity.sort.allot.T_Sort_Allot;
import zy.entity.sort.allot.T_Sort_AllotList;
import zy.entity.stock.data.T_Stock_DataBill;
import zy.entity.sys.user.T_Sys_User;

public interface AllotDAO {
	Map<String, Object> countSum(Map<String,Object> params);
	List<T_Sort_Allot> list(Map<String,Object> params);
	T_Sort_Allot load(Integer wt_id);
	T_Sort_Allot load(String number,Integer companyid);
	T_Sort_Allot check(String number,Integer companyid);
	List<T_Sort_AllotList> detail_list_forcopy(List<Long> ids);
	List<T_Sort_AllotList> detail_list_forsavetemp(String at_number,Integer companyid);
	List<T_Sort_AllotList> detail_list(Map<String, Object> params);
	List<T_Sort_AllotList> detail_list_print(Map<String, Object> params);
	List<T_Sort_AllotList> detail_sum(Map<String, Object> params);
	List<String> detail_szgcode(Map<String,Object> params);
	List<T_Sort_AllotList> temp_list_forimport(Integer at_type,Integer atl_up,Integer us_id,Integer companyid);
	List<T_Sort_AllotList> temp_list_forsave(Integer at_type,Integer atl_up,Integer us_id,Integer companyid);
	List<T_Sort_AllotList> temp_list(Map<String, Object> params);
	List<T_Sort_AllotList> temp_sum(Integer at_type,Integer atl_up,Integer us_id,Integer companyid);
	List<String> temp_szgcode(Map<String,Object> params);
	Integer count_product(Map<String, Object> param);
	List<T_Base_Product> list_product(Map<String, Object> param);
	T_Base_Product load_product(String pd_code,String sp_code,Integer companyid);
	Map<String, Object> load_product_size(Map<String,Object> params);
	Map<String, Object> load_product_size_send(Map<String,Object> params);
	T_Sort_AllotList temp_queryUnitPrice(String pd_code,Integer at_type,Integer atl_up, Integer us_id, Integer companyid);
	T_Sort_AllotList detail_queryUnitPrice(String pd_code, String at_number, Integer companyid);
	T_Sort_AllotList temp_loadBySubCode(String sub_code,Integer at_type,Integer atl_up, Integer us_id, Integer companyid);
	T_Sort_AllotList detail_loadBySubCode(String sub_code,String at_number, Integer companyid);
	void temp_save(List<T_Sort_AllotList> temps);
	void temp_save(T_Sort_AllotList temp);
	void temp_update(List<T_Sort_AllotList> temps);
	void temp_updateById(List<T_Sort_AllotList> temps);
	void temp_update(T_Sort_AllotList temp);
	void temp_updateprice(String pd_code, Double unitPrice, Integer at_type,Integer atl_up, Integer us_id, Integer companyid);
	void temp_updateRemarkById(T_Sort_AllotList temp);
	void temp_updateRemarkByPdCode(T_Sort_AllotList temp);
	void temp_del(List<T_Sort_AllotList> temps);
	void temp_del(Integer atl_id);
	void temp_delByPiCode(T_Sort_AllotList temp);
	void temp_clear(Integer at_type,Integer atl_up,Integer us_id,Integer companyid);
	List<BarcodeImportDto> temp_listByImport(List<String> barCodes,String priceType,Double sp_rate,String sp_code,Integer companyid);
	void detail_save(List<T_Sort_AllotList> details);
	void detail_save(T_Sort_AllotList detail);
	void detail_update(List<T_Sort_AllotList> details);
	void detail_update(T_Sort_AllotList detail);
	void detail_automatch(String number,Integer companyid);
	void detail_del(List<T_Sort_AllotList> details);
	void detail_del(Integer atl_id);
	void detail_updateprice(String pd_code, Double unitPrice, String at_number, Integer companyid);
	void save(T_Sort_Allot allot,Integer atl_up,List<T_Sort_AllotList> details,T_Sys_User user);
	void update(T_Sort_Allot allot,List<T_Sort_AllotList> details);
	void updateApprove(T_Sort_Allot allot);
	void updateSend(T_Sort_Allot allot);
	void updateReceive(T_Sort_Allot allot);
	List<ProductStorePriceDto> load_allot_product_price(String at_number,String shop_code,Integer companyid);
	void update_base_shopprice(List<T_Base_Product_Shop_Price> shopPrices_add,List<T_Base_Product_Shop_Price> shopPrices_update);
	List<T_Stock_DataBill> listStockAmount(String number,String shop_code, Integer companyid);
	void updateReject(T_Sort_Allot allot);
	void updateRejectConfirm(T_Sort_Allot allot);
	List<T_Stock_DataBill> listStock(String number,String dp_code, Integer companyid);
	void del(String at_number, Integer companyid);
	void deleteList(String at_number, Integer companyid);
}
